System and method for enforcing a policy for an authenticator device

ABSTRACT

A system and method including defining at least one device authentication policy; at a policy engine, initializing authentication policy processing for an authenticator device; collecting device status assessment; evaluating policy compliance of the device status assessment to an associated defined device authentication policy; and enforcing use of the authenticator device according to the policy compliance.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.61/544,273, filed 7 Oct. 2011, which is incorporated in its entirety bythis reference.

TECHNICAL FIELD

This invention relates generally to the authentication field, and morespecifically to a new and useful system and method for enforcing apolicy for an authenticator device in the authentication field.

BACKGROUND

Two-factor authentication is commonly used to increase the confidence ina user's identity and augment existing authentication factors such aspasswords. While a password or other knowledge-based factor (“what youknow”) can be captured, phished, and replayed by a malicious party, anauthentication factor that requires possession of a unique device (“whatyou have”) can provide greater security. These “what you have”authentication factors commonly take the form of a hardware token (eg.RSA's infamous SecurID product line) that generates one-time passcodes.These one-time passcodes are commonly 6 digit numeric passcodesgenerated using an algorithm and a stored secret key. While thesehardware devices offer a strong second factor of authentication whendeployed alongside traditional knowledge-based passwords, the devicesare expensive, difficult to manage, and painful for end users having tocarry around an extra device at all times. As mobile devices becomeincreasingly ubiquitous, powerful, and extensible to run third-partyapplications, they present an attractive replacement for hardwaretokens. Instead of carrying around an expensive hardware token togenerate one-time passwords, a user can simply use an application ontheir phone to generate the same one-time passwords. However, thisincrease in usability, convenience, and management comes at the cost ofensuring the integrity and security of the mobile application and mobiledevice software. While a dedicated hardware token can betamper-resistant, have a small trusted computing base, and acceptlimited outside input, a mobile device is a rich software environmentthat often suffers vulnerabilities and other security weaknesses thatplague any non-trivial software system. Therefore, if a mobile device isused in place of a hardware token for authentication, it is imperativethat the device's storage, applications, and platform remain in a securestate and are not compromised by attackers or malicious applicationsthat may reside on the same device. Unfortunately, such attacks againstmobile devices do take place and the threat of mobile malware and othertypes of mobile attacks will only increase in the future as they evolveinto more attractive targets to compromise. Therefore, organizationsthat wish to use mobile devices as an form of authentication (whetherOTP-based or otherwise) have a difficult trade-off to evaluate betweenthe increased security/isolation but decreased usability of a dedicatedhardware device, and the increased usability but decreasedsecurity/isolation of a mobile device. Thus, there is a need in theauthentication field to create a new and useful system and methodenforcing a policy for an authenticator device. This invention providessuch a new and useful system and method.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a schematic representation of a system of a preferredembodiment of the invention;

FIG. 2 is a schematic representation of a method of a preferredembodiment of the invention; and

FIGS. 3-6 are schematic diagrams of variations of a method of apreferred embodiment of the invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The following description of the preferred embodiments of the inventionis not intended to limit the invention to these preferred embodiments,but rather to enable any person skilled in the art to make and use thisinvention.

A system and method of preferred embodiments function to define,evaluate, and enforce a policy for the use of computing devices asauthenticators. Modern two-factor authentication approaches ofteninclude the use of a mobile device as a secondary authenticator, but thesystem and method may alternatively be used with any suitable computingdevice used as an authenticator device. The system and method preferablyalleviates at least some risk associated with the security threats,greater attack surface, and potential compromises of mobile device andits software. The system and method thus can function to potentiallymake a mobile device suitable for use as an authenticator. The systemand method preferably allow an administrator to define and enforcepolicies to determine when a user is permitted or denied use of theirmobile device as an authenticator by collecting and evaluatinginformation about the software state of the mobile device and anyperceived weaknesses or other attributes of the device, platform, orapplications that may have a relevant impact on the security of thedevice or its authentication functionality. Such policies may be basedon the software state of the mobile device and any perceived weaknessesor other information and attributes of the device, platform, orapplications that may compromise its integrity as a strongauthentication mechanism. For example, a user accessing their onlinebank account from their PC may provide a username and password to login, and then be challenged to provide a one-time password generated bytheir mobile device as a secondary authentication factor. Aftercompleting primary authentication with the username and password, anauthenticator application on the user's mobile device may collectinformation to provide to a policy engine of a authentication service(in this case, the online bank) to determine whether the mobile deviceis suitable and trusted for use as a secondary authentication factor.Based on the evaluation of policies acting upon the collectedinformation, the authentication service would enforce whether or not thedevice is deemed appropriate for use as a trusted authenticator.

1. System for Enforcing a Policy for an Authenticator Device

As shown in FIG. 1, a system enforcing a policy for an authenticatordevice of a preferred embodiment can include a policy engine 110, apolicy interface 120, and an authenticator 130. The system functions toenable defined policies to regulate the use of a device as anauthenticator. The policies preferably focus on the device status, andmore preferably on the device vulnerability status. The system ispreferably used and integrated with or alongside an authenticationsystem that uses the access to a particular computing device as part ofthe authentication security. The authentication system may be anysuitable authentication system such as a two factor authenticationsystem, a device-based authentication system, or any suitableauthentication system that at least in part depends on the use of acomputing device of a user. The authentication system is preferablyhosted in a network accessible cloud-based system or distributedcomputing infrastructure. The authentication system typically includes aplurality of accounts. Policies may be defined and enforced individuallyfor each account or class of accounts.

A policy engine 110 of a preferred embodiment functions to regulateauthentication attempts according to relevant policies. The policyengine 110 is tasked with evaluating an authentication request in thecontext of a defined policy and determining whether or not the computingdevice is suitable for use as an authenticator based on the result ofthat evaluation. The policy engine 110 preferably includes or has acommunication channel to a policy database. The policy engine 110additionally can include a communication interface through whichauthentication requests are received. The policy engine 110 can be astandalone service used in combination with an outside authenticationsystem, but may alternatively be integrated in an authentication system.The policy engine may alternatively be integrated with the authenticatorand be located on the computing device used as an authenticator device.Preferably, the policy engine 110 works in cooperation with a two-factorauthentication system. The particular policy evaluation procedure mayconsist of traditional boolean logic expressions (eg. “IFplatform_version<2.3.2 AND component_version<1.5”), standalone serviceswith rich functionality (eg. analyze the applications installed on thedevice to determine whether they are malicious or not), and any otherprocesses or heuristics that may be appropriate to evaluate whether amobile device is suitable for use as an authenticator.

A policy interface 120 of a preferred embodiment functions to definepolicies. The policy interface is a software component designed to allowan administrator or other appropriately designated user to definepolicies around the use of a user's computing device as anauthenticator. Typically, the policy interface would be a webapplication that an administrator would interact with using a webbrowser to create, read, update, or delete policies for theadministrator's organization's users. The policy interface 120 mayalternatively be an application programming interface (API) forprogrammatic setting of policies. Additionally the system may havepolicies preset or set in an alternative way and may not include apolicy interface 120. Any suitable rules or restrictions may be set forallowed use of an authenticator device. For example, an administratormay define a policy that disallows the use of SMS-delivered passcodes ifa user's mobile device is running suspicious applications that may haveaccess to their SMS inbox. By defining such a policy, an administratormay reduce the risk of the passcodes being stolen by a maliciousapplication on the user's mobile device, thereby allowing an attacker toimpersonate the user by using the stolen passcodes. As another example,the administrator may define a policy that requires the user's device toundergo a “health check” where it may be scanned for maliciousapplications or analyzed for weaknesses that may compromise itsintegrity or security. If the health check (i.e., vulnerabilityassessment) fails, the user may be disallowed to use that mobile deviceas an authenticator as it has been deemed too risky by theadministrator's policy. The resulting policies defined by theadministrator are stored in the policy database.

The authenticator 130 of a preferred embodiment functions to enforce theresults of the policy engine 110. The authenticator is preferably asoftware component that is present on the computing device of a userthat typically provides some strong authentication functionality. Theauthenticator 130 preferably facilitates the authentication process. Forexample, basic HMAC-based One time Password (HOTP), Time-based One-timePassword (TOTP), or any suitable One-time Password (OTP) generation canbe employed for mobile app-based authenticators to provide strongauthentication. When the authenticator is invoked, either by the user orby the authentication service, the authenticator 130 may enforce whetheror not the device is permitted for use as an authenticator device basedon the results of the policy engine's output. The authenticator 130 canalso collect and transmit information from the mobile device to anauthentication service that may be relevant to the evaluation of thedefined policies. The authenticator 130 may be built into the mobilesoftware platform itself, installed as a third-party app by the user ofthe mobile device, or delivered via any other mechanism available toexecute software on the mobile device. The authenticator 130 preferablyincludes communication channels to at least the authentication systemand/or policy engine.

2. Method for Enforcing a Policy for an Authenticator Device

As shown in FIG. 2, a method for enforcing a policy for an authenticatordevice of a preferred embodiment can include defining at least onedevice authentication policy at a policy engine S110, at a policy engineinitializing authentication policy processing for an authenticatordevice S120, collecting a device status assessment S130, evaluatingpolicy compliance of the device status assessment to an associateddevice authentication policy S140, and enforcing use of theauthenticator device according to the policy compliance S150. The methodfunctions to use definable policies and device specific information todetermine if a device may be used for authentication. The device ispreferably used in authentication by proving that the user haspossession of a device associated with an account. The method ispreferably employed along with a two-factor authentication process,where an authenticator device (e.g., a mobile device) is used as asecondary factor in authenticating a user. The method may alternativelybe used in any suitable authentication process typically one wheredevice possession is incorporated into the authentication process. Themethod can preferably facilitate checking if the device has beencompromised in a way that would jeopardize the authentication process orsystem and appropriately allowing or preventing authentication with thedevice.

Step S110, which includes defining at least one device authenticationpolicy at a policy engine, functions to determine at least one policyfor evaluating the security of an authenticator device. The deviceauthentication policy is preferably created through a user interface. Anadministrator or other authorized user interacting with a policy userinterface can preferably create, read, update, or delete policiesgoverning the conditions when a mobile device is deemed suitable to beused as an authenticator (most commonly using a mobile phone as a “whatyou have” second factor of authentication via OTPs, phone callback, SMSauthentication, smartphone push authentication, etc). A deviceauthentication policy may alternatively be defined through anapplication programming interface (API). As another alternative, thepolicy may be permanently set for the authentication through a settingsfile or in any suitable manner. A policy may alternatively be predefinedby a third-party or automatically defined by any suitable algorithm orprocess. Additional policies may augment existing administrator-definedpolicies or eliminate the need for administrator-defined policies.

The device authentication policy can preferably be set for any suitablecategorization of authentication requests. The device authenticationpolicy is preferably for a particular account on an authenticationsystem. Each account of an authentication system may have a policy set.A default policy may be used if no policy for a particular account isdefined. The device authentication policy may alternatively beassociated with a whole authentication system, a user-accounttype/label, a time of day, device type, or be associated with anysuitable property of an account, authentication request, and/orauthentication system. The device authentication policy preferablydefines device parameters that an authenticator device must satisfy. Thedevice parameters preferably include at least one parameter for thedevice status assessment that may define suitable application versionnumbers and allowed device health status. The device authenticationpolicy is preferably stored in a policy database at the policy engine.This is preferably a resource existing in a networked computing system,but may alternatively policies may be stored locally on associatedauthenticator devices or in any suitable location.

Step S120, which includes at a policy engine initializing anauthentication policy processing for an authenticator device, functionsto trigger the policy engine to check if the authenticator devicecomplies with the policy. Initializing an authentication policy processpreferably occurs as a result of a user attempting to perform a step ofan authentication process using the authenticator device. Anauthenticator on the device will preferably trigger an evaluation of theadministrator-defined policies in order to determine whether the usershould be able to use their mobile device as an authenticator. As aresult, the policy engine preferably receives an authentication policyrequest. The authentication policy request may be transmitted by theauthenticator on the device or may alternatively be transmitted by anauthentication system. If the policy engine requires additionalinformation about the mobile device in order to evaluate theadministrator-defined policies, it can query the authenticator on thedevice to provide a device status assessment. Alternatively, theauthentication policy request may include the device status assessment.

Step S130, which includes collecting a device status assessment,functions to retrieve parameters that indicate the status of theauthenticator device. An authenticator on the device preferably collectsinformation from the device. For example, the policy engine may requestthat the authenticator collect a list of all the installed applicationson the mobile device and return them to the policy engine so that thepolicy engine can process the list to see if any potentially risky ormalicious applications are installed on the mobile device that wouldcompromise the integrity of the authenticator device as a strongauthenticator. The authenticator preferably transmits the device statusassessment along with any additional relevant information from thedevice to the policy engine to assist in the evaluation of theadministrator-defined device authentication policies. This transmissioncan occur over traditional wide-area network communications mechanismsavailable on the mobile device such as WiFi, cellular data service (eg.EDGE, GSM, HSDPA, LTE, etc), even local radio communications such asBlueTooth, or any suitable networking protocol. Alternatively, thedevice status assessment may be transmitted to a policy engine operatinglocally on the device. Additionally, the method may include calculatinga vulnerability assessment. The vulnerability assessment may becalculated in any suitable manner. In one variation, the vulnerabilityassessment may be calculated by the system and/or method described inU.S. patent application Ser. No. 13/601,409, titled “SYSTEM AND METHODFOR ASSESSING VULNERABILITY OF A MOBILE DEVICE”, filed 31 Aug. 2012 bythe assignee of the present invention, which is hereby incorporated inits entirety by this reference. The results of the vulnerabilityassessment may be transmitted to the policy engine. Alternatively, thepolicy engine may facilitate the calculation of the vulnerabilityassessment. In calculating the vulnerability assessment, the policyengine and/or authentication system may receive at least onevulnerability assessment request that includes an object identifier foran operative object of a mobile computing device, wherein thevulnerability assessment request originates from the authenticatordevice; and a module to identify a vulnerability assessment associatedwith the identifier of the operative object.

In one variation, device status assessments from the computing devicemay be delivered to the policy engine and/or authentication serviceperiodically or lazily (instead of on-demand at the time ofauthentication) and stored in the policy database to develop an extendedhistorical view of the device's perceived health. The historical statusassessment may be used in evaluating policy compliance. When evaluatingthe policy compliance, the use of the most recent device statusassessment may be used. For example, device status assessments may becollected every hour. When evaluating policy compliance the devicestatus assessment from the last hour can be used such that the devicestatus assessment is typically no older than an hour. This technique maybe useful when the device status assessment requires time-consumingprocessing.

Step S140, which includes evaluating policy compliance of the devicestatus assessment to an associated device authentication policy,functions to determine whether the computing device is suitable for useas an authenticator device. The policy engine preferably retrieves thenecessary defined device authentication policies from the policydatabase/storage. A single policy preferably governs the policycompliance, but a plurality of policies may alternatively be used tocooperatively define a policy for an authenticator device. Theparticular policy evaluation procedure may consist of traditionalboolean logic expressions (eg. “IF platform_version<2.3.2 ANDcomponent_version<1.5”), standalone services with rich functionality(eg. analyze the applications installed on the device to determinewhether they are malicious or not), and any other processes orheuristics that may be appropriate to evaluate whether a mobile deviceis suitable for use as an authenticator. In one variation, avulnerability assessment is calculated or received, and thevulnerability assessment is used in logic to determine policycompliance. For example, a vulnerability assessment may indicate anumber of vulnerabilities on the device. The associated policy may onlyspecify a particular vulnerability that should be used to selectivelygive or deny authentication. If the vulnerabilities on the device do notinclude the policy specified vulnerabilities, the policy compliance ispositive and authentication may be allowed. If at least onevulnerability of the device coincides with a policy specifiedvulnerability, then policy compliance is negative and authentication isdenied.

Step S150, which includes enforcing use of the authenticator deviceaccording to the policy compliance, functions to appropriately allow,disallow, or otherwise respond to an attempt to authenticate with theauthenticator device. Enforcing may include the policy enginetransmitting the policy compliance evaluation to the computing device asshown in FIG. 3. The authenticator on the computing device can thenallow or disallow use of the device as an authenticator device. Forexample, if the evaluation indicates the status of the device is notcompliant with the policy, then the OTP or other authentication processthat involves the computing device is prevented from being completed. Inone variation, the OTP is not displayed and/or generated if the deviceis not compliant. In another variation, the authenticator preventscommunication of authentication information to the authenticationsystem. Similarly, the authenticator can transmit a message thatindicates that the authentication system should not acceptauthentication using the device. The enforcement of the result of thepolicy evaluation can not only be enforced on the mobile device itself(eg. disallowing the user to use or interact with the authenticatorapplication to generate one-time passcodes), but also, enforced by theauthentication service to deny any attempts by the user to authenticateusing that device if it has been deemed unsuitable for use as anauthenticator as shown in FIG. 4. For example, the user may be deniedaccess to the authenticator functionality on the mobile device but alsoadditionally be denied by the service if they attempt authenticationanyway. The policy engine preferably will transmit a message to theauthentication system to indicate that the device is not allowed to beused as an authenticator device. Additionally, enforcing use of theauthenticator device may include facilitating an update to theauthenticator device. Facilitating may involve communicating the issuesthat need to be fixed, actions that can be taken to resolve the issues,the code or update code to resolve the issues, instructions toinitialize an automatic device update, and/or any suitable response toaid in bringing the device into compliance with the associated policy.When the device is updated, the method may repeat any of the above stepsto check if the device complies with the policy and can be used as anauthenticator device of an authentication system.

In exemplary implementation of a preferred embodiment of the method, themethod is used with a two-factor authentication system as shown in FIG.3. The authentication system will send a secondary-authenticationpasscode to a device. An authenticator will preferably facilitatetransferring the passcode back to the authentication system. This ispreferably facilitated by displaying the passcode in an SMS app, a pushnotification, an application message. A user will preferably be promptedto confirm, repeat, or otherwise correctly acknowledge the passcodeprior to the authenticator transferring the passcode to theauthentication system. A policy engine of the authentication system willpreferably evaluate a policy. The policy can be associated with the useraccount and/or device in process of authentication, but mayalternatively be associated with any suitable aspect or be a defaultpolicy. Depending on the associated policy, the policy engine mayrequest a device status assessment. The authenticator will preferablycompile and generate a device status assessment. The authenticatorpreferably transmits the device status assessment and it is received atthe policy engine. The policy engine preferably processes the policy andthe device status assessment to determine if the device should beallowed to be used as an authenticator device or not. As an additionalvariation, the policy engine may initiate a device update to remedyissues with the current device status assessment as shown in FIG. 5.Upon completing the update, the device can preferably be used as anauthenticator device. When the device is determined to be an allowedauthenticator device, the passcode may be processed and used incompleting authentication.

In another exemplary implementation of a preferred embodiment of themethod, the method is used for locally policing the use of a computingdevice for authentication as shown in FIG. 6. The authenticatorapplication or service on the phone preferably includes the policyengine. At least one device authentication policy is received and storedlocally on the device. The policy may alternatively be retrieved from aremote database or storage and temporarily stored on the device. When auser is attempting to use the device to authenticate (whether that beduring a two-factor authentication process or other suitableauthentication process), the policy engine will preferably be initiatedand will evaluate policy compliance of the device. Typically, theevaluation will occur prior to enabling user authentication with thedevice. For example, if a passcode is sent to the device, the passcodemay be readable through an application on the device. The user can benotified about the received passcode by a push notification, but thenupon opening the application, the passcode will only be revealed if thedevice is in compliance with the policy. The policy engine preferablyuses device status assessment and more preferably a vulnerabilityassessment in combination with the policy to determine the devicecompliance results. As discussed above, enforcing the compliance resultspreferably includes selectively enabling one of several responses. Asone response, if the device is in compliance with the deviceauthentication policy, then authentication using the device is allowed.In the current example, this could include displaying the passcode, suchthat the user may enter the passcode on another device or complete anauthentication action. As another response, if the device is not incompliance with the device authentication policy, then authenticationusing the device may be prevented. In the current example, this couldinclude displaying an error message and not showing the passcode ordisabling completion of the authentication process. Additionally oralternatively, the response may prompt updating the device. The updatewould preferably resolve issues preventing device compliance such asupdating an application to a more secure version, deleting or fixingmalicious components, or any suitable device update. Upon updating thedevice, the policy engine can preferably re-evaluate the policycompliance.

An alternative embodiment preferably implements the above methods in acomputer-readable medium storing computer-readable instructions. Theinstructions are preferably executed by computer-executable componentspreferably integrated with a policy engine used in cooperation with anauthentication system. The computer-readable medium may be stored on anysuitable computer readable media such as RAMs, ROMs, flash memory,EEPROMs, optical devices (CD or DVD), hard drives, floppy drives, or anysuitable device. The computer-executable component is preferably aprocessor but the instructions may alternatively or additionally beexecuted by any suitable dedicated hardware device.

As a person skilled in the art will recognize from the previous detaileddescription and from the figures and claims, modifications and changescan be made to the preferred embodiments of the invention withoutdeparting from the scope of this invention defined in the followingclaims.

We claim:
 1. A method comprising: defining at least one deviceauthentication policy; at a policy engine, initializing authenticationpolicy processing for an authenticator device; collecting device statusassessment; evaluating policy compliance of the device status assessmentto an associated defined device authentication policy; and enforcing useof the authenticator device according to the policy compliance.
 2. Themethod of claim 1, wherein upon receiving an authentication policyrequest at the policy engine, initializing authentication policyprocessing.
 3. The method of claim 1, wherein collecting device statusassessment includes collecting at least one application version numberof an application on the authenticator device.
 4. The method of claim 3,wherein collecting device status assessment is performed at anauthenticator on the authenticator device, and further comprises, theauthenticator communicating the device status assessment to the policyengine.
 5. The method of claim 1, wherein collecting device statusassessment includes collecting a vulnerability assessment.
 6. The methodof claim 5, wherein collecting a vulnerability assessment includesidentifying a vulnerability assessment from an object identifier for anoperative object of the authenticator device.
 7. The method of claim 5,further comprising periodically collecting a vulnerability assessmentand generating a historical view of the device status as part of thedevice status assessment used in evaluating policy compliance.
 8. Themethod of claim 1, wherein the at least one device authentication policyis defined through an administrator user interface.
 9. The method ofclaim 8, wherein a plurality of different device authentication policiesare defined for a plurality of different accounts of an authenticationsystem; and the policy engine selects the device authentication policyfor evaluation according to a mapping between the authenticator deviceand an account.
 10. The method of claim 1, wherein the policy engine isintegrated with an authentication system in a cloud computingenvironment.
 11. The method of claim 1, wherein enforcing use of theauthenticator device according to the policy compliance includes:allowing the authenticator device to be used in authenticating a user ifthe policy compliance indicates the device status assessment is incompliance with the associated policy; and preventing the authenticatordevice from authenticating a user if the policy compliance indicates thedevice status assessment is not in compliance with the associatedpolicy.
 12. The method of claim 11, wherein enforcing use of theauthenticator device further includes facilitating an authenticatordevice update to comply with the associated device authenticationpolicy.
 13. The method of claim 12, further comprising upon completingthe authenticator device update, evaluating policy compliance andenforcing use of the authenticator device for at least a second time.14. The method of claim 11, wherein allowing the authenticator device tobe used in authenticating a user and preventing the authenticator devicefrom authenticating a user are executed on the authenticator device. 15.The method of claim 11, wherein allowing the authenticator device to beused in authenticating a user and preventing the authenticator devicefrom authenticating a user are executed in an authentication system. 16.The method of claim 11, wherein allowing the authenticator device to beused in authenticating a user and preventing the authenticator devicefrom authenticating a user are executed on the authenticator device andin a authentication cloud system.
 17. The method of claim 11, furthercomprising at an authenticator of the authenticator device, receiving apasscode; wherein allowing the authenticator device to be used inauthenticating a user includes displaying the passcode; and whereinpreventing the authenticator device from authenticating a user includesnot displaying the passcode.
 18. The method of claim 11, furthercomprising at an authenticator of the authenticator device receiving apasscode; and wherein preventing the authenticator device fromauthenticating a user includes invalidating the passcode forauthentication.